<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <pre>
1.Express.js 中间件的概念及其作用：
Express.js 是一个基于 Node.js 平台的极简和灵活的 web 应用开发框架，
它提供了一系列强大的功能，其中之一就是中间件。
中间件在 Express.js 中是一种具有特殊功能的函数，
它介入请求对象（req）和响应对象（res）的处理过程，可以访问请求和响应对象，
结束请求-响应循环，或将控制权传递给下一个中间件函数.中间件可以用来处理请求数据、执行业务逻辑、处理错误、用户认证、日志记录等。中间件按顺序执行，当一个中间件函数调用 next() 函数时，它将控制权传递给下一个中间件函数，直到响应被发送
 
2.跨域 CORS 问题的产生原因及其解决方案
由于浏览器的同源策略导致的。同源策略是一种安全机制，
它限制了一个源的文档或脚本与另一个源的资源进行交互。
如果一个网页尝试请求另一个源的资源，浏览器会阻止这个请求


3.JavaScript 中的 new 运算符的执行过程，以及它如何创建对象的：
创建一个空对象，继承自构造函数的原型。
将构造函数的 this 绑定到新创建的对象上。
执行构造函数中的代码（给 this 添加属性和方法）。
如果构造函数返回一个对象，则返回该对象；否则，返回之前创建的新对象。

4.实现图片上传接口时，通常需要考虑的安全因素
限制上传文件的大小，防止服务器资源耗尽
确保只有授权用户可以上传图片，并且上传的图片只能被授权用户访问。
上传的文件可能包含恶意软件，应使用杀毒软件进行扫描

5.JavaScript 中的原型链是什么，以及 Object.create() 方法的作用：
每个 JavaScript 对象都有一个内部属性 [[Prototype]]，它指向该对象的原型。当我们尝试访问一个对象的属性或方法时，如果该对象本身没有这个属性或方法，
JavaScript 引擎会沿着原型链向上查找，直到找到该属性或方法或到达原型链的末端null

6.JavaScript 中的事件循环机制及其如何帮助异步编程
avaScript 的事件循环机制是 JavaScript 运行时和调用栈协同工作以处理异步操作的一种方式。事件循环允许 JavaScript 引擎在等待异步操作（如网络请求、定时事件等）完成时执行其他任务。当调用栈为空时，事件循环检查消息队列（任务队列）是否有待处理的任务。
如果有，它将这些任务添加到调用栈中，然后执行它们。这个过程会不断重复，直到调用栈和消息队列为空。
</pre
    >
  </body>
</html>
